Skip to main content

Desarrollo local con Docker

Esta guía proporciona instrucciones detalladas para configurar Eventify usando Docker, incluyendo requisitos, pasos de instalación, configuración adicional y variables de entorno.

Requisitos

  1. Docker: Docker simplifica la gestión y el despliegue de aplicaciones. Obtener Docker.

  2. Docker Compose: Asegúrate de que Docker Compose esté instalado. Viene incluido con Docker Desktop para Windows y Mac. Guía de instalación de Docker Compose.

  3. Git: Git debe estar instalado para clonar el repositorio. Guía de instalación de Git.

Instrucciones de configuración

Paso 1: Clonar el repositorio

Clona el repositorio de GitHub de Eventify en tu máquina local usando Git y cambia al directorio Docker en el repositorio clonado:

git clone git@github.com:vikgmdev/eventify.git
cd eventify/docker/all-in-one

Paso 2: Generar el APP_KEY y JWT_SECRET

Genera las llaves usando los siguientes comandos:

Unix/Linux/MacOS/WSL

echo base64:$(openssl rand -base64 32)  # For APP_KEY
openssl rand -base64 32 # For JWT_SECRET

Windows (Símbolo del sistema):

for /f "tokens=*" %i in ('openssl rand -base64 32') do @echo APP_KEY=base64:%i
for /f "tokens=*" %i in ('openssl rand -base64 32') do @echo JWT_SECRET=%i

Windows (PowerShell):

"base64:$([Convert]::ToBase64String([System.Security.Cryptography.RandomNumberGenerator]::GetBytes(32)))"  # For APP_KEY
[Convert]::ToBase64String([System.Security.Cryptography.RandomNumberGenerator]::GetBytes(32)) # For JWT_SECRET

Después de iniciar, accede a la aplicación en:

Paso 3: Actualizar el archivo .env

Actualiza el archivo .env ubicado en ./docker/all-in-one/.env con las claves APP_KEY y JWT_SECRET generadas:

APP_KEY=your_generated_app_key
JWT_SECRET=your_generated_jwt_secret

Paso 4: Iniciar los contenedores de Docker

docker compose up -d

Paso 5: Crear una cuenta

Visita http://localhost:8123/auth/register para crear una cuenta.

Nota de producción:

Para producción, asegúrate de generar un APP_KEY y un JWT_SECRET únicos para cada entorno y nunca codifiques valores sensibles de forma fija (hardcode).